package framework.actions
{

	[Bindable]
	public class Action
	{
		public var actionId:String;

		public var label:String;

		public var parentAction:Action;

		private var _enabled:Boolean;

		public function exec(... args):ActionInstance
		{
			//override 
			return null;
		}

		public function Action()
		{
		}

		public function get enabled():Boolean
		{
			if (parentAction)
			{
				if (!parentAction.enabled)
					return false;
			}
			return _enabled;
		}

		public function set enabled(value:Boolean):void
		{
			_enabled = value;
		}
	}
}